package org.openmore.opc.service;

import org.openmore.opc.dto.api.TenantDto;
import org.openmore.opc.entity.Tenant;
import org.openmore.opc.entity.enums.TenantStatus;
import org.springframework.util.StringUtils;
import org.openmore.common.exception.OpenmoreException;

import java.util.Date;
import java.util.List;

public interface TenantService{

        /**
         * 根据id获得Entity对象
         * @param id
         * @return
         */
        Tenant getEntityById(String id);

        /**
         * 根据id获得dto对象
         * @param id
         * @return
         */
        TenantDto getDtoById(String id);

        /**
         * 分页获得所有记录
         * @return
         */
        List<TenantDto> selectAll(String userId, String name, TenantStatus status, Date createTimeStart, Date createTimeEnd);

        /**
         * 获得所有记录数量
         *
         * @return
         */
        Integer selectCount(String userId, String name, TenantStatus status, Date createTimeStart, Date createTimeEnd);

        /**
         * 插入指定数据
         * @return
         */
        TenantDto insert(TenantDto tenant);

        /**
         * 根据id删除数据
         */
        void deleteById(String id);

        /**
         * 更新指定的对象数据
         */
        void update(TenantDto tenant);
        }